<?php
/**
 * テキストエリアフォームコントローラクラス
 */
require_once __DIR__ . '/Abstractor.php';
require_once __DIR__ . '/GeneralAttribute.php';

/**
 * テキストエリアフォームコントローラクラス
 * @author admin
 *
 */
class Hlib_Form_Textarea extends ZendPartialController
{
	public $GeneralAttibutes = NULL;

	/** H2-H4/e2+/N2+/i1+。テキストエリアの横幅を指定します。 */
	public $cols = '';
	/** H4+/e4+/N6+。テキストフィールドへの入力をできなくします。表示文字は灰色で表示されます。 */
	public $disabled = '';
	/** i2+。入力モードの初期値を指定する。<input>を参照。 */
	public $istyle = '';
	/** H4+/e4+/N6+。テキストフィールドへの入力をできなくします。 */
	public $readonly = '';
	/** H2+/e2+/N2+/i1+。テキストエリアの縦幅（行数）を指定します。HTML4.01では必須の属性として定義されています。 */
	public $rows = '';
	/** H5+/e3+/N2+。入力文字数が横幅を超える場合の自動改行を指定します。*/
	public $wrap = '';
	/** 表示文字 */
	public $contents;

	/** off : 自動改行しない(e4/N2) */
	const WRAP_OFF = 'off';
	/** hard : 表示も送信も自動改行される(e3/N2) */
	const WRAP_HARD = 'hard';
	/** soft : 表示は自動改行されるが送信は自動改行されない(e3/N2) */
	const WRAP_SOFT = 'soft';
	/** physical : hardと同じ(e?/N?) */
	const WRAP_PHYSICAL = 'physical';
	/** virtual : softと同じ(e?/N?) */
	const WRAP_VIRTUAL = 'virtual';

	/** テンプレートネーム */
	const TEMPLATE_NAME = 'textarea.tpl';
	/**
	 * コンストラクタ
	 */
	public function __construct()
	{
		$TemplateDir = __DIR__;
		parent::__construct($TemplateDir);
		$this->GeneralAttibutes = new Hlib_Form_GeneralAttribute();
	}

	/**
	 * フェッチ
	 * (non-PHPdoc)
	 * @see ZendPartialController::fetch()
	 */
	public function fetch()
	{
		$this->view->contents = $this->contents;
		$this->view->cols = $this->cols;
		$this->view->disabled = $this->disabled;
		$this->view->istyle = $this->istyle;
		$this->view->readonly = $this->readonly;
		$this->view->rows = $this->rows;
		$this->view->wrap = $this->wrap;
		$this->view->general_attribute = $this->GeneralAttibutes->fetch();
		
		$sHtml = parent::fetch(self::TEMPLATE_NAME);
		$sHtml = str_replace("\t", '', $sHtml);
		return $sHtml;
	}
}